package envx

import (
	"os"
)

var env string
var gray string

// 初始化，如没有环境变量则默认是本地dev环境
// 如果没有灰度环境变量，默认非灰度
func init() {
	env = os.Getenv("APP_ENV")
	if env == "" {
		env = "dev"
	}

	gray = os.Getenv("APP_GRAY")
	if gray == "" {
		gray = "no"
	}
}

// OsEnv 获取环境变量
func OsEnv() string {
	return env
}

// OsGray 获取灰度标签
func OsGray() string {
	return gray
}

// InProd 是否生产
func InProd() bool {
	return OsEnv() == "prod"
}

// InPre 是否预生产
func InPre() bool {
	return OsEnv() == "pre"
}

// InDev 是否开发
func InDev() bool {
	return OsEnv() == "dev"
}

// InTest 是否测试
func InTest() bool {
	return OsEnv() == "test"
}

// IsGray 当前是否灰度
func IsGray() bool {
	return OsGray() == "yes"
}

// AppName 获取应用名
func AppName() string {
	return os.Getenv("APP_NAME")
}
